home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Shareware Grab Bag
/
Shareware Grab Bag.iso
/
081
/
omam_112.arc
/
SAMPLE.MAM
< prev
next >
Wrap
Text File
|
1987-11-29
|
16KB
|
424 lines
; This is a sample configuration file for RASMAM -- Roger Alan Smith's
; Message Area Manager -- how's that for modesty?
--------------------------===-------------------------------------
; This script probably will NOT run as is. It's just for reference.
--------------------------===-------------------------------------
; Comment lines may begin with
;
; . , > @ ^ & * : ; ` ' ~ > < / ? - + = | or \
;
------------------------------------------------------------------------
; The following psuedo-variables may be used in this file:
;
; The names have been changed (since version 1.01). Sorry about
; forcing you to edit your old scripts, but this is prettier :-).
; var. formerly becomes
; #JULIAN# #J# -- the current day of the year (001..366)
; #DAY# #D# -- the current day of the month (01..31)
; #MONTH# #M# -- the current month (01..12)
; #YEAR# #Y# -- the current year (87..99)
; $WEEKDAY$ $D$ -- the current weekday (SUN..SAT)
; $MONTH$ $M$ -- the current month (JAN..DEC)
; $SCRIPT$ $C$ -- name of the current MAM configuration file
; New ones (Version 1,02):
; #HOUR# -- hour when MAM was run (00..23)
; #MINUTE# -- minute when MAM was run (00..59)
; #AREA# -- number of current message area (00..99)
; #user name# -- user number of specified user (0..???)
; $PATH$ -- path to current message area
; $net/node$ -- Hex string NNNNnnn where NNNN is net and
; -- nnnn is node. For example,
; -- $366/14$ becomes 016E000E
; %var% -- value of specified environment variable
; %% -- %
; ## -- #
; $$ -- $
* You may define your own psuedo-variables (or macros) using the
* DEFINE command. For example,
DEFINE opus c:\opus
DEFINE misc $opus$\misc
DEFINE file $opus$\files
DEFINE arcs $file$\archives
DEFINE custom $opus$
* After the above DEFINE statements, you can use $FILE$ anywhere in
* this script and it will be replaced by "C:\OPUS\FILES" or use $ARCS$
* instead of "C:\OPUS\FILES\ARCHIVES" -- it makes your lines much
* shorter and some changes easier.
* MAM expands the lines as they are read. MAM should handle "expanded"
* lines up to about 32000 characters.
------------------------------------------------------------------------
; The SAVE DEFINITIONS and LOAD DEFINITIONS commands allow you to save
; and retrieve the values of macros you have defined. For example,
SAVE DEFINITIONS TO $opus$\test.def
LOAD DEFINITIONS FROM $opus$\test2.def
; ....
LOAD DEFINITIONS FROM $opus$\test.def
; The LOAD command erases the values of all macros before loading values
; from the file.
------------------------------------------------------------------------
; The INCLUDE command allows you to include another script in the
; current one. Warning, including files will slow things down some.
; As an example, the following line will execute a script called
; INCLUDE.MAM then return to this script. Note, the filespec should
; include the drive, path, and extension.
INCLUDE C:\OPUS\INCLUDE.MAM
; INCLUDES may be nested up to 10 levels.
------------------------------------------------------------------------
; First you must tell MAM where to find some things ...
; The FILE LOG command tells MAM to send log messages to the specified
; file. Don't specify OPUS.LOG!
FILE LOG $opus$\log\mam.log
; The FILE USER command tells MAM the name of your user file.
FILE USER $opus$\user.bbs
; The PATH SYSTEM command tells MAM where to find your system files.
PATH SYSTEM $opus$\
; The PATH CUSTOM command tells MAM where to put the ###.BBS files that
; the WAIT and NOTE commands create. This will usually be the same as SYSTEM.
; If the word KEEP is added after the path, then the current custom welcomes
; will not be deleted. Don't use KEEP if you're producing message waiting
; lists.
PATH CUSTOM $custom$
; The FILE ECHO command tells MAM the name of your Opus-style Echo control
; file that MAM uses to look up area numbers and paths. Opus doesn't seem
; to get upset if the message area numbers in the Echo control file are
; wrong, but MAM will! (Or rather your users will when their last read
; pointers get screwed up :-). Oh, and make sure all areas that MAM will
; operate on are defined in the Echo control file. Opus doesn't mind if
; you have areas listed that are not echo areas.
FILE ECHO $opus$\nodelist\echo.ctl
------------------------------------------------------------------------
; The LOG command may be put anywhere in the file and will echo the text
; following the command to the screen (if /TERSE is not used) and to the
; log file if any.
LOG Running MAM $C$
>>>> The MESSAGES command no longer exists. Instead, RASMAM will only
>>>> handle messages numbered 1 through 2000.
>> The DATE command allows you to tell RASMAM to use the date the message
>> arrived on your system or the date the message was originally written
>> when determining the age of a message. The default is DATE WRITTEN.
DATE ARRIVED
------------------------------------------------------------------------
; The following commands are necessary only if you create custom welcome
; screens using the WAIT command.
> The FILE HEADER command tells MAM the name of a file containing text to
> be placed at the beginning of any ###.BBS files created by the WAIT
> option. If two files are listed, MAM will use the second if the user has
> ANSI graphics enabled.
FILE HEADER $misc$\opuswait.hdr $misc$\graphics.hdr
> The FORMAT command tells MAM how to format the messages waiting file.
> Currently, three formats are supported. This first is faster and is the
> default. New formats will be added later.
> Format A is:
> 1 101
> 2 110
> Format B is:
> GENERAL Message Area (1)
> Message 101 from Roger Smith
> Message 110 from James Young
> Format C is:
> GENERAL Message Area (1)
> Message: 101
> From : Roger Smith
> Date : 01-SEP-87 01:25:47
> Subject: Re:RASMAM Formats
FORMAT B
------------------------------------------------------------------------
; The IF and END IF commands allow you to conditionally execute portions
; of your script file.
; The syntax of the IF statement is
;
; IF [@NOT] condition [THEN]
;
; where condition is
;
; value1 == value2 true if value1 equals value2
; value1 != value2 (or <>) true if value1 doesn't equal value2
; value1 < value2 true if value1 less than value2
; value1 > value2 true if value1 greater than value2
; value1 <= value2 true if value1 less than or equal to value2
; value1 >= value2 true if value1 greater than or equal to value2
; value1 IN value2 true if value1 is contained in value2
; @EXISTS filespec true if filespec exists
; Values are all one word (no spaces). @NOT inverts the result of the
; condition.
IF $MONTH$ == JAN THEN
LOG It is January.
END IF
IF @EXISTS c:\opus\system99.bbs THEN
IF $WEEKDAY$ IN TUETHU THEN
LOG It is Tuesday or Thursday == $WEEKDAY$ == and SYSTEM99.BBS exists
END IF
IF $MONTH$ <> JAN THEN
LOG System99.BBS exists, but the month is not January
END IF
END IF
IF @NOT $MONTH$#Y# == JAN87
LOG It is NOT January 1987
END IF
------------------------------------------------------------------------
; ERASE deletes the specified file or files.
ERASE $custom$\*.XXX
------------------------------------------------------------------------
; LOCK makes any following WAITs ignore the specified user (or class of
; user by privilege). For example,
LOCK Ben-z Lawrence
; will stop message waiting lists from being made for Ben-z Lawrence
; until an "UNLOCK Ben-z Lawrence" or "UNLOCK priv" (where priv is
; Ben's privilege level.
; UNLOCK reverses the effects of a LOCK
; For example, the following will re-enable checking of messages waiting
; for all users with SYSOP priv's:
UNLOCK Sysop
------------------------------------------------------------------------
; In the next section you must tell MAM what to do in each message area.
; Message paths are used so that you may rearrange message area numbers
; without having to change your MAM file.
; Use the AREA command to define the area for the commands. Add the
; word ECHO after the name if the area is an echomail area. The area
; name must match the area name from your echo control file.
AREA general echo
; The WAIT command tells MAM to create message waiting files like OpusWait.
; These are "custom welcomes" that are displayed when the user logs on.
WAIT
; The RENUM command has the following syntax:
;
; RENUM [SUBJECT] [CHAIN]
;
; The RENUM command tells MAM to renumber the messages. If you add the
; word SUBJECT after the RENUM command, MAM will build a reply chain based
; on the message subjects. This restores the reply chain which is lost in
; echomail conferences. The keyword CHAIN does the same thing as SUBJECT,
; but the last message in each subject chain points to the first message in
; the next subject chain. This provides a "threaded read" function like
; the one available on other BBS systems. Just use the "+" and "-" instead
; of "N" and "P" to read messages.
RENUM CHAIN
; The KILL command has the following syntax:
;
; KILL [WHEN ll] [RECEIVED] [DAYS mm] [KEEP nn] [SKIP oo] [PRIVATE]
;
; The WHEN option specifies that the KILL command should execute only when
; there are more than ll messages in the area. The RECEIVED option causes
; only received messages to be deleted. The DAYS option allows you to specify
; that only messages older than mm days be killed. The KEEP option specifies
; that the first nn messages in the area will not be killed. The private
; option specifies that the command will work only on private messages.
! SKIP oo tells MAM not to delete the first oo messages in the area.
; Here are some samples:
;
; To kill all received messages in the area:
; KILL RECEIVED
; To kill all messages over 90 days old except the first 10:
; KILL DAYS 90 SKIP 10
; To kill all messages over 30 days old keeping at least 10:
; KILL DAYS 30 KEEP 10
; To kill all received messages over 30 days old:
; KILL RECEIVED DAYS 30
; To kill all received messages AND all over 30 days old: (use two commands!)
; KILL RECEIVED
; KILL DAYS 30
; To kill all private messages that have been received:
; KILL RECEIVED PRIVATE
; The KILL command can do things many different ways. You may wish to backup
; all your messages to a temporary directory before testing your KILL
; command(s).
; The ARCHIVE command is similar to kill except the messages are copied to
; a text file before being deleted. The syntax is:
;
; ARCHIVE [RECEIVED] [DAYS mm] [KEEP nn] [SKIP oo] [PRIVATE] TO file
;
; The RECEIVED, DAYS, KEEP, SKIP, and PRIVATE options work just like kill.
; The TO clause tells MAM what file to create to hold the text of the messages.
; Here's the ARCHIVE command I use for my General Message area:
ARCHIVE KEEP 75 TO $arcs$\chat#Y#.$M$
; This will keep about 100 messages in the area at any time. When
; there are 100 or more messages in the area, then MAM will pull the lowest
; numbered messages (skipping 1 since this is an echo area) and put them
; in a file called CHAT##.@@@ where ## is the year and @@@ is the month.
; The file is put in the file area where my archives are located. At the
; end of this month, $M$ will change to the next month and a new file
; will be used.
; Note: You can use more than one ARCHIVE command. RENUM and WAIT are
; always executed last, after any number of ARCHIVE and KILL commands have
; been executed. The ARCHIVE and KILL commands will be executed in the order
; they appear in the script. (ARCHIVE and KILL commands may be mixed).
; For example, you could ARCHIVE all messages over 30 days old then KILL all
; received messages over 15 days old. The combinations are infinite. Again,
; you may wish to copy messages into a temporary directory to test your MAM
; file.
; The END AREA statement marks the end of processing for the current
; area.
END AREA
------------------------------------------------------------------------
; The AREA command and its WAIT, RENUM, KILL, and ARCHIVE commands should
; be repeated for each area you wish to process.
AREA records ECHO
WAIT
RENUM CHAIN
ARCHIVE KEEP 150 TO $arcs$\music#Y#.$M$
END AREA
------------------------------------------------------------------------
; The following commands must be executed after the last area has been
; processed.
> The FILE TRAILER command tells MAM the name of a file containing text to
> be appended to each ###.BBS file that exists. The trailer files are
> added to the custom welcomes when the FILE TRAILER statement is
> encountered in the script. If you wish to put the trailer after any
> NOTEs, then put the FILE TRAILER statement at the end of the script.
FILE TRAILER $misc$\opuswait.trl
; The NOTE command allows you to add a note to a custom welcome screen
; for a certain user (or group of users). NOTE PREFIX adds the note
; before any text entered in the custom welcome screen by the WAIT command.
; NOTE SUFFIX adds the file to the end of the custom welcome.
; The syntax for NOTE is:
;
; NOTE {PREFIX|SUFFIX} filename TO {{username|priv}, ...}
;
; Priv is a privilege level -- TWIT, DISGRACE, NORMAL, PRIV, EXTRA, ASSIST,
; or SYSOP.
; The following will send the file TWIT.TXT to all twits.
NOTE SUFFIX $misc$\twit.txt TO TWIT
; The follow sends a message to a certain user:
NOTE SUFFIX $opus$\notes\friends.txt TO David Hicks
; The DELETE command deletes any custom welcome intended for the specified
; user(s). If someone who calls your board participates in one of your
; echomail conferences on a different system, he may have a long list of
; messages waiting even though he's seen them on his board. You can use
; DELETE to delete the welcome screen for that caller. If you have entered
; "ALL" in your user list, you should delete the messages waiting for ALL.
; DELETE will also delete custom welcomes waiting for a class of user.
; For example, DELETE SYSOP will remove all messages waiting for users
; with SYSOP priv's.
DELETE Ben-z Lawrence
DELETE All
; To delete a custom welcome waiting for a user called "SYSOP" use:
ERASE $custom$\#sysop#.BBS
; where $custom$ is the path to your custom welcomes.
--------------------------------------------------------------------
; The ADD command concatenates two files.
; The syntax is:
;
; ADD file1 TO file2 GIVING file3
;
; File1 and File2 are added and written to File3. File3 is overwritten.
; No errors are generated if File1 or File2 is missing or if File3 is the
; same as File1 or File2. The files must be text files.
ADD $misc$\bull1.bbs TO $misc$\bulletin.bbs GIVING $misc$\bulletin.bbs
------------------------------------------------------------------------
; The SHELL command executes a DOS command. This requires DOS 3.1 or
; higher.
SHELL dir $misc$